-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Merge branch 'main' into next #29957
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Issue number: resolves #29523 --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> The scrollable segment flickers on iOS physical devices or simulators when the active button is near the edge of the screen. The jump is due to the button being scrolled to the center and snaps back to the edge since the button was scrolled past the container. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Switched to `scrollTo` provides for a smoother transition. - Gave co author credit to the original reporter since they provided part of the solution - No new tests were created since functionality stays the same and testing on Playwright would be impossible to recreate ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change: 1. Describe the impact and migration path for existing applications below. 2. Update the BREAKING.md file with the breaking change. 3. Add "BREAKING CHANGE: [...]" to the commit description when merging. See https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md#footer for more information. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> Dev build: 8.3.2-dev.11726779768.16e1f1d2 How to test: 1. Create a new app through any starter 2. Add a scrollable segment with at least 6 buttons (code snippet example below) 3. Recommended to change the segment mode to `md` since it's easier to see the flicker 4. Build the app and open it in an iOS or simulator (if more instructions on how to do this is needed, reach out to me) 5. Click on the third button 6. Click on the first button 7. Notice the flicker 8. Click over to the third to last button 9. Click on either the last two buttons 10. Notice the flicker 11. Install the dev build 12. Verify the load does not flicker 13. Repeat steps 4 and 5 14. Verify the flicker is no longer there 15. Repeat steps 7 and 8 16. Verify the flicker is no longer there ```js <ion-segment value="2" scrollable="true" mode="md"> <ion-segment-button value="1"> <ion-label>Button 1</ion-label> </ion-segment-button> <ion-segment-button value="2"> <ion-label>Button 2</ion-label> </ion-segment-button> <ion-segment-button value="3"> <ion-label>Button 3</ion-label> </ion-segment-button> <ion-segment-button value="4"> <ion-label>Button 4</ion-label> </ion-segment-button> <ion-segment-button value="5"> <ion-label>Button 5</ion-label> </ion-segment-button> <ion-segment-button value="6"> <ion-label>Button 6</ion-label> </ion-segment-button> </ion-segment> ``` --------- Co-authored-by: rostislavcz <[email protected]>
Issue number: resolves #29830 --------- ## What is the current behavior? The `setFocus` method on `ion-app` is marked internal. ## What is the new behavior? Document the `setFocus` method as a way for developers to programmatically focus elements. ## Does this introduce a breaking change? - [ ] Yes - [x] No ## Other information The method isn’t new, it was just marked as internal, which prevented it from being documented. I can mark this as a `feat` though if anyone thinks it should be. Related documentation PR: ionic-team/ionic-docs#3842
Issue number: internal --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> Test styles causes native buttons to have [certain styling](https://github.com/ionic-team/ionic-framework/blob/main/core/scripts/testing/styles.css#L52-L64). This was done to spruce up the buttons used for testing purposes only. However, this ended up adding styles to native buttons within Ionic components. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Test styles for native buttons are only applied to buttons that are not part of a Ionic component ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change: 1. Describe the impact and migration path for existing applications below. 2. Update the BREAKING.md file with the breaking change. 3. Add "BREAKING CHANGE: [...]" to the commit description when merging. See https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md#footer for more information. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> How to test: 1. Run the project locally from the `main` branch 2. [Comment](https://github.com/ionic-team/ionic-framework/blob/5d208e9daacad63294489e0b1bd6ec2b2645babd/core/src/components/searchbar/searchbar.md.scss#L91) out `border: 0` from `.searchbar-clear-button` from the searchbar `md` theme file (`ios` also works) 3. Navigate to the basic test page: `/src/components/searchbar/test/basic` 4. Notice a teal border around the clear buttons 5. Checkout to this PR's branch 6. Make sure steps 2-3 are done 7. Verify that the teal border is not being applied to the clear buttons 8. Verify that only native buttons outside of the Ionic components have a teal appearance: `/src/components/loading/test/standalone` and `/src/components/action-sheet/test/is-open`
Issue number: resolves #29885, resolves #29924 --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> React and Vue: Tab bar could be a standalone element within `IonTabs` and would navigate without issues with a router outlet before v8.3: ```tsx <IonTabs> <IonRouterOutlet></IonRouterOutlet> <IonTabBar></IonTabBar> </IonTabs> ``` It would work as if it was written as: ```tsx <IonTabs> <IonRouterOutlet></IonRouterOutlet> <IonTabBar slot="bottom"> <!-- Buttons --> </IonTabBar> </IonTabs> ``` After v8.3, any `ion-tab-bar` that was not a direct child of `ion-tabs` would lose it's expected behavior when used with a router outlet. If a user clicked on a tab button, then the content would not be redirected to that expected view. React only: Users can no longer add a `ref` to the `IonRouterOutlet`, it always returns undefined. ``` <IonTabs> <IonRouterOutlet ref={ref}> <IonTabBar slot="bottom"> <!-- Buttons --> </IonTabBar> </IonTabs> ``` ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> The fixes were already reviewed through PR #29925 and PR #29927. I split them to make it easier to review. React and Vue: The React tabs has been updated to pass data to the tab bar through context instead of passing it through a ref. By using a context, the data will be available for the tab bar to use regardless of its level. React only: Reverted the logic for `routerOutletRef` and added a comment of the importance of it. ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change: 1. Describe the impact and migration path for existing applications below. 2. Update the BREAKING.md file with the breaking change. 3. Add "BREAKING CHANGE: [...]" to the commit description when merging. See https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md#footer for more information. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> N/A
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
2 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
package: angular
@ionic/angular package
package: core
@ionic/core package
package: react
@ionic/react package
package: vue
@ionic/vue package
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.